Crate cargo_toml
source ·Expand description
This crate defines struct
s that can be deserialized with Serde
to load and inspect Cargo.toml
metadata.
See Manifest::from_slice
.
Correct interpretation of the manifest requires two things:
- List of files in order to auto-discover binaries, examples, benchmarks, and tests.
- Potentially
Manifest
from parent directories that acts as a workspace root for inheritance of shared workspace information.
The crate has methods for processing this information, but you will need to write some glue code to obtain it. See Manifest::complete_from_path_and_workspace
.
Structs
- In badges section of Cargo.toml
[badges]
section ofCargo.toml
, deprecated by crates-io exceptmaintenance
.- When definition of a dependency is more than just a version string.
AbstractFilesystem
implementation for real files.- When a dependency is defined as
{ workspace = true }
, and workspace data hasn’t been applied yet. - A
Badges
field withMaintenanceStatus
. - The top-level
Cargo.toml
structure. This is the main type in this library. - The
[package]
section of theManifest
. This is where crate properties are. - Workspace can predefine properties that can be inherited via
{ workspace = true }
in its member packages. - Cargo uses the term “target” for both “target platform” and “build target” (the thing to build), which makes it ambigous. Here Cargo’s bin/lib target is renamed to product.
- Compilation/optimization settings for a workspace
- Build-in an custom build/optimization settings
- Dependencies that are platform-specific or enabled through custom
cfg()
. - A manifest can contain both a package and workspace-wide properties
Enums
- Verbosity of debug info in a
Profile
- Dependency definition. Note that this struct doesn’t carry it’s key/name, which you need to read from its section.
- Edition setting, which opts in to new Rust/Cargo behaviors.
- In this crate’s
Result
s. - Placeholder for a property that may be missing from its package, and needs to be copied from a
Workspace
. - Handling of LTO in a build profile
- Mainly used to deprecate crates.
- A way specify or disable README or
build.rs
. - Forbids or selects custom registry
- Handling of debug symbols in a build profile
- Representation of a TOML value.
Traits
- This crate supports reading
Cargo.toml
not only from a real directory, but also directly from other sources, like tarballs or bare git repos (BYO directory reader).
Type Aliases
- Dependencies. The keys in this map may not be crate names if
package
is used, but may be feature names if they’re optional. [features]
section.default
is special.- Locally replace dependencies
- Config target (see
parse_cfg
crate) + deps for the target.